指令集体系结构很复杂,数百个寄存器和指令可以在执行过程中修改数十个寄存器,在每个实例上可变。散文风格的ISA规格难以捕获ISA的这些复杂性,在这些文档中,有关单个寄存器的重要细节通常会分布在数百页的文档中。确保所有ISA状态都在上下文开关中交换了特权软件的上下文开关,需要对这些页面进行细致的检查。此手动过程乏味且容易出错。我们提出了一种称为Sailor的工具,该工具利用机器可读的ISA规格,以帆的规格自动化此任务。Sailor确定在上下文开关期间使用SAIL收集的数据和一种新颖算法将ISA算法归类为安全敏感的算法所需的ISA状态。使用Sailor的输出,我们在四个开源机密计算系统中确定了三个不同类别的ISA状态类别。我们进一步揭示了五个不同的安全漏洞,可以使用不幸的ISA状态来利用这些漏洞。这项研究暴露了一个经常被忽视的攻击表面,源于不幸的ISA州,使非特权的对手能够利用系统脆弱性。
![arxiv:2502.06609v1 [cs.os] 2025年2月10日PDF文件第1页](/bimg/7/7e441888333d4d76839f2f256d6ebefe6976ebcf.webp)
![arxiv:2502.06609v1 [cs.os] 2025年2月10日PDF文件第2页](/bimg/e/e2755e9cfba825daafc6c48b65fd428cef0d2302.webp)
![arxiv:2502.06609v1 [cs.os] 2025年2月10日PDF文件第3页](/bimg/1/10b661af074572ea2f7e97fddc48ba2e993730a8.webp)
![arxiv:2502.06609v1 [cs.os] 2025年2月10日PDF文件第4页](/bimg/3/36eaf7af3c69866ca329f0c06cdaf30d945d96cb.webp)
![arxiv:2502.06609v1 [cs.os] 2025年2月10日PDF文件第5页](/bimg/8/833b4442d3e50791a8cdc5d605c1e66411cac3e5.webp)
